ViewModel এর ব্যবহার

Microsoft Technologies - এএসপি ডট নেট এমভিসি (ASP.Net MVC) মডেল (Models) |
248
248

ASP.Net MVC-তে ViewModel এমন একটি ক্লাস, যা ভিউয়ের (View) জন্য প্রয়োজনীয় ডেটা এবং লজিক ধারণ করে। এটি মডেল (Model) থেকে ভিউকে আলাদা রাখতে সাহায্য করে এবং ভিউতে শুধুমাত্র প্রয়োজনীয় ডেটা প্রেরণের জন্য ব্যবহার করা হয়। ViewModel ব্যবহার করলে ডেটা এবং ভিউ ম্যানেজমেন্ট আরও সুসংগঠিত এবং কার্যকর হয়।


ViewModel কী?

ViewModel হলো একটি কাস্টম ক্লাস যা মূলত ভিউয়ের চাহিদা অনুযায়ী ডেটা পাস করার জন্য ব্যবহৃত হয়। এটি একাধিক মডেলের ডেটা একত্রিত করে ভিউতে পাঠানোর সুযোগ দেয়। ভিউ এবং মডেল সরাসরি যুক্ত না হয়ে ViewModel-এর মাধ্যমে একে অপরের সাথে সংযোগ স্থাপন করে।


ViewModel কেন প্রয়োজন?

  • মডেল ক্লাস সরাসরি ভিউতে পাঠানো অনুচিত, কারণ এতে অতিরিক্ত বা সংবেদনশীল ডেটা থাকতে পারে।
  • ভিউতে বিভিন্ন মডেলের ডেটা একত্রিত করে প্রেরণের প্রয়োজন হলে ViewModel ব্যবহার সহজ এবং কার্যকর।
  • ভিউয়ের জন্য প্রয়োজনীয় লজিক বা কাস্টম ডেটা তৈরি করার জন্য ViewModel একটি ভালো সমাধান।

ViewModel ব্যবহার করার ধাপ

ViewModel তৈরি করা
ViewModel হিসেবে একটি নতুন ক্লাস তৈরি করুন, যা ভিউয়ের জন্য প্রয়োজনীয় ডেটার প্রপার্টি ধারণ করবে।

public class StudentViewModel
{
    public string StudentName { get; set; }
    public string ClassName { get; set; }
    public int TotalMarks { get; set; }
}

কন্ট্রোলারে ViewModel ব্যবহার
কন্ট্রোলারে ViewModel-এর মাধ্যমে ডেটা প্রস্তুত করুন এবং ভিউতে পাঠান।

public class StudentController : Controller
{
    public IActionResult Details()
    {
        var viewModel = new StudentViewModel
        {
            StudentName = "Rahim",
            ClassName = "10th Grade",
            TotalMarks = 85
        };

        return View(viewModel);
    }
}

ভিউতে ViewModel ব্যবহার
ভিউতে ViewModel টাইপ ডিক্লেয়ার করুন এবং এর প্রপার্টিগুলো ব্যবহার করুন।

@model StudentViewModel

<h2>Student Details</h2>
<p>Name: @Model.StudentName</p>
<p>Class: @Model.ClassName</p>
<p>Total Marks: @Model.TotalMarks</p>

একাধিক মডেলের ডেটা ViewModel-এ পাঠানো

যদি ভিউতে একাধিক মডেলের ডেটা প্রয়োজন হয়, তবে ViewModel-এ আলাদা প্রপার্টি হিসেবে এই মডেলগুলো সংজ্ঞায়িত করুন।

public class CombinedViewModel
{
    public Student StudentInfo { get; set; }
    public Teacher TeacherInfo { get; set; }
}

কন্ট্রোলারে ব্যবহার:

public IActionResult Overview()
{
    var viewModel = new CombinedViewModel
    {
        StudentInfo = new Student { Name = "Rahim", Class = "10th Grade" },
        TeacherInfo = new Teacher { Name = "Mr. Karim", Subject = "Mathematics" }
    };

    return View(viewModel);
}

ভিউতে ব্যবহার:

@model CombinedViewModel

<h2>Overview</h2>
<p>Student Name: @Model.StudentInfo.Name</p>
<p>Class: @Model.StudentInfo.Class</p>
<p>Teacher Name: @Model.TeacherInfo.Name</p>
<p>Subject: @Model.TeacherInfo.Subject</p>

ViewModel ব্যবহারের সুবিধা

  • মডেল এবং ভিউয়ের মধ্যে আলাদা স্তর তৈরি: ভিউ এবং মডেল সরাসরি যুক্ত না থাকায় কোড আরও রক্ষণাবেক্ষণযোগ্য হয়।
  • ভিউয়ের জন্য প্রয়োজনীয় ডেটা প্রদান: ViewModel শুধুমাত্র প্রয়োজনীয় ডেটা সরবরাহ করে, যা ডেটার নিরাপত্তা নিশ্চিত করে।
  • কাস্টম ডেটা লজিক: ভিউয়ের চাহিদা অনুযায়ী ডেটা ফরম্যাট বা কাস্টম লজিক তৈরি করা সহজ।
  • একাধিক মডেল ম্যানেজমেন্ট: একাধিক মডেলের ডেটা ভিউতে একত্রিত করে প্রদর্শন করা সম্ভব।

সারমর্ম

ViewModel ASP.Net MVC-তে ভিউ এবং মডেলের মধ্যে যোগাযোগ সহজ এবং কার্যকর করে। এটি মডেল এবং ভিউয়ের মধ্যে একটি আলাদা স্তর তৈরি করে, যা ডেটার নিরাপত্তা নিশ্চিত করে এবং অ্যাপ্লিকেশনকে আরও মডুলার ও রক্ষণাবেক্ষণযোগ্য করে তোলে। ViewModel ব্যবহার করে অ্যাপ্লিকেশনের ভিউ ম্যানেজমেন্ট আরও সুগঠিত ও কার্যকর করা সম্ভব।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion